#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
#
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
#
# Modified to make a template file for a multi-binary package with separated
# build-arch and build-indep targets  by Bill Allombert 2001

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

# This has to be exported to make some magic below work.
export DH_OPTIONS

configure: configure-stamp
configure-stamp:
	dh_testdir
	# Add here commands to configure the package.

	touch configure-stamp


#Architecture
build: build-arch build-indep

build-arch: build-arch-stamp
build-arch-stamp: configure-stamp  

	# Add here commands to compile the arch part of the package.
	mkdir -p /tmp/composer
	(cd /tmp/composer && (curl -sS https://getcomposer.org/installer | php))
	@dpkg-parsechangelog | sed -n -e 's/^Version: //p' > VERSIONSTRING
	$(MAKE) PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var
	$(MAKE) PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var -C src/nomos/agent/ -f Makefile.sa
	touch $@

build-indep: build-indep-stamp
build-indep-stamp: configure-stamp  

	@# this currently doesn't do anything, but in case it does someday
	$(MAKE) PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var install/db/
	touch $@

clean: 
	dh_testdir
	dh_testroot
	rm -f build-arch-stamp build-indep-stamp configure-stamp

	$(MAKE) clean

	dh_clean 

install: install-indep install-arch
install-indep:
	dh_testdir
	dh_testroot
	dh_clean -k -i 
	dh_installdirs -i

	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-db \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C install/db install

	dh_install -i

install-arch:
	dh_testdir
	dh_testroot
	dh_clean -k -s 
	dh_installdirs -s

	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-common \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var install-install
	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-common \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/lib install
	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-common \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/cli install
	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-common \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/maintagent install
	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-common \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           COMPOSER_PHAR=/tmp/composer/composer.phar \
           -C src composer_install
	mkdir -p $(CURDIR)/debian/fossology-common/usr/share/fossology/setup
	cp $(CURDIR)/install/scripts/* $(CURDIR)/debian/fossology-common/usr/share/fossology/setup

	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-web \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/www install

	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-wgetagent \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/wget_agent install

	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-scheduler \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/scheduler install

	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-ununpack \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/ununpack install
	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-ununpack \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/adj2nest install

	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-copyright \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/copyright install
	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-buckets \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/buckets install
	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-mimetype \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/mimetype install
	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-nomos \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/nomos install
	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-nomos \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/nomos/agent/ -f Makefile.sa install
	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-pkgagent \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/pkgagent install
	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-delagent \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/delagent install

	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-debug \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/debug install

	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-monk \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/monk install-monk

	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-monkbulk \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/monk install-monkbulk

	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-ninka \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/ninka install

	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-decider \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/decider install
	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-deciderjob \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/deciderjob install

	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-unifiedreport \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/unifiedreport install

	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-readmeoss \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/readmeoss install
	
	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-reuser \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/reuser install

	$(MAKE) DESTDIR=$(CURDIR)/debian/fossology-spdx2 \
           PREFIX=/usr SYSCONFDIR=/etc/fossology LOCALSTATEDIR=/var \
           -C src/spdx2 install

	mkdir -p $(CURDIR)/debian/fossology-dev/usr/bin
	mkdir -p $(CURDIR)/debian/fossology-dev/usr/share/fossology/
	tar czf $(CURDIR)/debian/fossology-dev/usr/share/fossology/php-vendor.tar.gz -C $(CURDIR)/debian/fossology-common/usr/share/fossology vendor

	dh_install -s
# Must not depend on anything. This is to be called by
# binary-arch/binary-indep
# in another 'make' thread.
binary-common:
	dh_testdir
	dh_testroot
	dh_installchangelogs 
	dh_installdocs -A -Nfossology-common debian/README.Debian
	dh_installdocs -pfossology-common
	dh_installexamples
#	dh_installdebconf	
	dh_installlogrotate	
#	dh_installmime
	DH_OPTIONS= dh_installinit -o -pfossology --name=fossology
#	dh_installcron -pfossology-db
	dh_installman

# Do the lintian stuff by hand for now so we can depend on older debhelper to
# make backports easier, switch when etch support dropped
#	dh_lintian
	mkdir -p debian/fossology-common/usr/share/lintian/overrides
	cp debian/fossology-common.lintian-overrides debian/fossology-common/usr/share/lintian/overrides/fossology-common
	#mkdir -p debian/fossology-agents/usr/share/lintian/overrides
	#cp debian/fossology-agents.lintian-overrides debian/fossology-agents/usr/share/lintian/overrides/fossology-agents
	#mkdir -p debian/fossology-agents-single/usr/share/lintian/overrides
	#cp debian/fossology-agents-single.lintian-overrides debian/fossology-agents-single/usr/share/lintian/overrides/fossology-agents-single

	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb
# Build architecture independant packages using the common target.
binary-indep: build-indep install-indep
	$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common

# Build architecture dependant packages using the common target.
binary-arch: build-arch install-arch
	$(MAKE) -f debian/rules DH_OPTIONS=-s binary-common

binary: binary-arch binary-indep
.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure
